<?php
/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
*/

/**
 * Description of Jugador
 *
 * @author Jose
 */
require_once("Controlador/utils.php");
require_once("Modelo/bd/bd.php");
class Jugador {
    static function grabarJugador($nombre,$ap_paterno,$ap_materno,$tipo_documento,$num_documento,$mail,
            $celular,$celular2,$telefono,$especialidad,$universidad,$estado,$idusuario,$id) {
        if($id=="") {
            $query="insert into jugador (nombre,ap_paterno,ap_materno,tipo_documento,num_documento,mail,
                celular,celular2,telefono,especialidad,universidad,estado,idusuario)
            values ";
            $campos=array(
                    array("tipo"=>"string","valor"=>$nombre),
                    array("tipo"=>"string","valor"=>$ap_paterno),
                    array("tipo"=>"string","valor"=>$ap_materno),
                    array("tipo"=>"string","valor"=>$tipo_documento),
                    array("tipo"=>"string","valor"=>$num_documento),
                    array("tipo"=>"string","valor"=>$mail),
                    array("tipo"=>"string","valor"=>$celular),
                    array("tipo"=>"string","valor"=>$celular2),
                    array("tipo"=>"string","valor"=>$telefono),
                    array("tipo"=>"string","valor"=>$especialidad),
                    array("tipo"=>"string","valor"=>$universidad),
                    array("tipo"=>"string","valor"=>$estado),
                    array("tipo"=>"string","valor"=>$idusuario),
            );
            $id=BD::ejecutarQuery($query,$campos);
        }
        else {
            $query="update jugador set ";
            $campos=array(
                    array("tipo"=>"string","nombre"=>"nombre","valor"=>$nombre),
                    array("tipo"=>"string","nombre"=>"ap_paterno","valor"=>$ap_paterno),
                    array("tipo"=>"string","nombre"=>"ap_materno","valor"=>$ap_materno),
                    array("tipo"=>"string","nombre"=>"tipo_documento","valor"=>$tipo_documento),
                    array("tipo"=>"string","nombre"=>"num_documento","valor"=>$num_documento),
                    array("tipo"=>"string","nombre"=>"mail","valor"=>$mail),
                    array("tipo"=>"string","nombre"=>"celular","valor"=>$celular),
                    array("tipo"=>"string","nombre"=>"celular2","valor"=>$celular2),
                    array("tipo"=>"string","nombre"=>"telefono","valor"=>$telefono),
                    array("tipo"=>"string","nombre"=>"especialidad","valor"=>$especialidad),
                    array("tipo"=>"string","nombre"=>"universidad","valor"=>$universidad),
                    array("tipo"=>"string","nombre"=>"estado","valor"=>$estado),
            );
            $where=" where idjugador=$id";
            BD::ejecutarQueryUpdate($query,$campos,$where);

        }
        if ($id and $id!="")
            return array("idjugador"=>$id,"nombre"=>$nombre,"estado"=>$estado,"ap_paterno"=>$ap_paterno,"ap_materno"=>$ap_materno,
                    "telefono"=>$telefono,"celular"=>$celular,"celular2"=>$celular2,"especialidad"=>$especialidad,"mail"=>$mail,
                    "universidad"=>$universidad,"celular2"=>$celular2,"tipo_documento"=>$tipo_documento, "num_documento"=>$num_documento,
                "idusuario"=>$idusuario);
        else return false;

    }
    static function buscarJugadores() {

        $query="select j.idjugador, j.nombre, j.ap_paterno, j.ap_materno, j.tipo_documento, j.num_documento,
            j.mail, j.telefono, j.celular, j.celular2, j.especialidad, j.universidad, count(jj.idjugador_x_juego) as num_juegos,
            j.idusuario
            from jugador j  left join jugador_x_juego jj on jj.idjugador=j.idjugador and j.estado='inscrito'

            where j.estado!='eliminado' ";

        if (isset($_REQUEST['nombre']) )
            $query.=" and j.nombre like '%".$_REQUEST['nombre']."%'";
        if (isset($_REQUEST['apellidos']) )
            $query.=" and ( j.ap_paterno like '%".$_REQUEST['apellidos']."%' or j.ap_materno like '%".$_REQUEST['apellidos']."%') ";
        if (isset($_REQUEST['mail']) )
            $query.=" and  j.mail like '%".$_REQUEST['mail']."%' ";

        $query.=" group by j.idjugador";
        
        return $query;
    }
    static function verjugador($id) {
        $query="select j.idjugador, j.nombre, j.ap_paterno, j.ap_materno, j.tipo_documento, j.num_documento,
            j.mail, j.telefono, j.celular, j.celular2, j.especialidad, j.universidad, j.idusuario
            from jugador j  where j.idjugador=$id";

        return BD::ejecutarQuerySelectUnitario($query);
    }
    static function verCartera($idJugadorxJuego) {
        //TODO:falta sacar el valor de la accion, segun la cotizacion
        $query="
        SELECT cot.valor, c.idcartera, c.ticker, c.num_acciones, c.moneda, j.idjuego, j.tipo_cambio, jj.monto_disponible, j.porcentaje_venta
        FROM jugador_x_juego jj
        LEFT JOIN juego j ON j.idjuego = jj.idjuego
        LEFT JOIN cartera c ON jj.idjugador_x_juego = c.idjugador_x_juego
        LEFT JOIN cotizacion cot ON cot.ticker=c.ticker and cot.fecha=(select max(cot2.fecha) from cotizacion cot2)
        WHERE jj.idjugador_x_juego =$idJugadorxJuego";
        

        return BD::ejecutarQuerySelect($query);
    }
   
    
    static function verOperaciones($idjugadorxjuego) {
        $query="select o.idoperacion, o.tipo, o.accion, o.num_acciones, o.valor,
        o.moneda, o.num_acciones, o.total, date_format(o.fecha,'%d/%m/%Y %H:%i') as fecha,
        j.idjuego, j.tipo_cambio, jj.monto_disponible, a.empresa
        from operacion o
        left join jugador_x_juego jj on jj.idjugador_x_juego=o.idjugador_x_juego
        left join juego j on j.idjuego=jj.idjuego
        left join accion a on a.ticker=o.accion
        where  o.idjugador_x_juego=$idjugadorxjuego
                 order by fecha desc";

        return $query;
    }
    
    static function ObtenerTodasAcciones() {
        $query="select a.empresa, c.ticker, c.valor, a.moneda from cotizacion c
left join accion a on a.ticker=c.ticker
where c.fecha=date_format(now(),'%Y-%m-%d')";
        
        return BD::ejecutarQuerySelect($query);
    }
    static function ObtenerAccionesJugador($idjugadorxjuego) {
        $query="select a.empresa, c.ticker, c.valor, a.moneda from cotizacion c
left join accion a on a.ticker=c.ticker
where c.fecha=date_format(now(),'%Y-%m-%d')";
     
        return BD::ejecutarQuerySelect($query);

    }
    static function grabarJugada($usuario,$juego) {

        $query="insert into operacion (idjugador_x_juego,tipo,accion,num_acciones, valor,moneda,total,fecha)
        values ";
        $campos=array(
                array("tipo"=>"string","valor"=>$_REQUEST['idjugador_x_juego']),
                array("tipo"=>"string","valor"=>$_REQUEST['tipo']),
                array("tipo"=>"string","valor"=>$_REQUEST['ticker']),
                array("tipo"=>"numero","valor"=>$_REQUEST['cantidad']),
                array("tipo"=>"numero","valor"=>$_REQUEST['valor']),
                array("tipo"=>"string","valor"=>$_REQUEST['moneda']),
                array("tipo"=>"numero","valor"=>$_REQUEST['subtotal_valor']),
                array("tipo"=>"fechaNow","valor"=>""),

        );
        $id=BD::ejecutarQuery($query,$campos);
        $query="select idcartera, num_acciones from cartera where idjugador_x_juego=".
                $_REQUEST['idjugador_x_juego']." and ticker='".$_REQUEST['ticker']."'";
        $cartera=BD::ejecutarQuerySelectUnitario($query);
        
        if (!$cartera) {
            $query="insert into cartera (idjugador_x_juego,ticker,num_acciones, moneda)
                    values ";
            $campos=array(
                    array("tipo"=>"string","valor"=>$_REQUEST['idjugador_x_juego']),
                    array("tipo"=>"string","valor"=>$_REQUEST['ticker']),
                    array("tipo"=>"numero","valor"=>$_REQUEST['cantidad']),
                    array("tipo"=>"string","valor"=>$_REQUEST['moneda'])
            );
            BD::ejecutarQuery($query, $campos);
        }
        else {

            $query="update cartera set ";
            if ($_REQUEST['tipo']=="C")
                $campos=array(
                        array("tipo"=>"numero","nombre"=>"num_acciones",
                                "valor"=>$_REQUEST['cantidad']+$cartera['num_acciones']),
                );
            elseif ($_REQUEST['tipo']=="V")
                $campos=array(
                        array("tipo"=>"numero","nombre"=>"num_acciones",
                                "valor"=>$cartera['num_acciones']-$_REQUEST['cantidad']),
                );
            $where=" where idcartera=".$cartera['idcartera'];
            BD::ejecutarQueryUpdate($query,$campos,$where);
        }
        $query="update jugador_x_juego set ";

        $campos=array(
                array("tipo"=>"numero","nombre"=>"monto_disponible",
                        "valor"=>$_REQUEST['efectivo_valor']),
        );
        
        $where=" where idjugador_x_juego=".$_REQUEST['idjugador_x_juego'];
        BD::ejecutarQueryUpdate($query,$campos,$where);
    }
    static function obtenerJugador($idjugador,$idjuego){
        $query="select juga.idjugador, jj.idjugador_x_juego, jj.idjuego, jj.estado
            from jugador juga
            left join jugador_x_juego jj on jj.idjuego=$idjuego and jj.idjugador=$idjugador
            where juga.idjugador=$idjugador
            ";

            return BD::ejecutarQuerySelectUnitario($query);

    }
}
?>
